Method and apparatus for using oscillation signals with different phases to detect capacitance values at capacitive sensing nodes of touch panel

ABSTRACT

A method for detecting capacitance values of a plurality of capacitive sensing nodes located at intersections of a plurality of drive lines and a sense line on a touch panel is provided. The method includes at least the following steps: obtaining a plurality of touch sense signals corresponding to the sense line during a plurality of time slots, respectively; demodulating the touch sense signals with a first oscillation signal to generate a plurality of first demodulated signals; demodulating the touch sense signals with a second oscillation signal to generate a plurality of second demodulated signals, wherein the second oscillation signal is different from the first oscillation signal; and determining the capacitance values according to at least the first demodulated signals and the second demodulated signals.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application No.61/640,007, filed on Apr. 30, 2012 and incorporated herein by reference.

BACKGROUND

The disclosed embodiments of the present invention relate to detectingcapacitance values of a touch panel, and more particularly, to a methodand apparatus for using oscillation signals with different phases todetect capacitance values (e.g., mutual capacitance values) atcapacitive sensing nodes of a touch panel.

Touch panel devices are now widely used in a variety of applications toact as user interfaces. In general, a touch panel device may include atouch panel and a touch controller. Regarding certain applications,capacitive touch panels (e.g., mutual-capacitance touch panels) may beused. Thus, the touch controller generates a driving input to thecapacitive touch panel, receives a sensing output generated from thecapacitive touch panel, and refers to the sensing output to determinemutual capacitance values for detecting a touch event.

Regarding some touch panel systems, multiple drive lines (i.e., rowtraces) of the mutual-capacitance touch panel are stimulatedsimultaneously to generate composite sensing outputs at the sense lines(i.e., column traces). However, different drive lines may introducedifferent phase delays in the sensing outputs, which results in thecomplexity in determining the mutual capacitance values corresponding tointersections (i.e., crossover points) of drive lines and sense lines.Besides, as the phase delay would change along with the ambienttemperature variation, the phase delay measurement and compensation maybe inaccurate, thus degrading the overall touch-controlled systemperformance.

In view of the foregoing, there is a need for an innovative design whichcan correctly and efficiently determine capacitance values correspondingto intersections (i.e., crossover points) of drive lines and sense lineson a multi-stimulus touch panel.

SUMMARY

In accordance with exemplary embodiments of the present invention, amethod and apparatus for using oscillation signals with different phasesto detect capacitance values (e.g., mutual capacitance values) ofcapacitive sensing nodes of a touch panel are proposed to solve theabove-mentioned problem.

According to a first aspect of the present invention, an exemplarymethod for detecting capacitance values of a plurality of capacitivesensing nodes located at intersections of a plurality of drive lines anda sense line on a touch panel is disclosed. The exemplary methodincludes: obtaining a plurality of touch sense signals from the senseline during a plurality of time slots, respectively; demodulating thetouch sense signals with a first oscillation signal to generate aplurality of first demodulated signals; demodulating the touch sensesignals with a second oscillation signal to generate a plurality ofsecond demodulated signals, wherein the second oscillation signal isdifferent from the first oscillation signal; and determining thecapacitance values according to at least the first demodulated signalsand the second demodulated signals.

According to a second aspect of the present invention, an exemplarytouch controller for detecting capacitance values of a plurality ofcapacitive sensing nodes located at intersections of a plurality ofdrive lines and a sense line on a touch panel is disclosed. Theexemplary touch controller includes a first demodulator, a seconddemodulator, and a determining unit. The first demodulator is arrangedfor demodulating a plurality of touch sense signals corresponding to thesense line with a first oscillation signal to generate a plurality offirst demodulated signals, wherein the touch sense signals are obtainedduring a plurality of time slots, respectively. The second demodulatoris arranged for demodulating the touch sense signals with a secondoscillation signal to generate a plurality of second demodulatedsignals, wherein the second oscillation signal is different from thefirst oscillation signal. The determining unit is arranged fordetermining the capacitance values according to at least the firstdemodulated signals and the second demodulated signals.

According to a third aspect of the present invention, an exemplarynon-transitory machine readable medium storing a program code isdisclosed. When executed by a processor, the program code causes theprocessor to perform following steps for detecting capacitance values ofa plurality of capacitive sensing nodes located at intersections of aplurality of drive lines and a sense line on a touch panel: demodulatinga plurality of touch sense signals corresponding to the sense line witha first oscillation signal to generate a plurality of first demodulatedsignals, wherein the touch sense signals are obtained during a pluralityof time slots, respectively; demodulating the touch sense signals with afirst oscillation signal to generate a plurality of first demodulatedsignals; demodulating the touch sense signals with a second oscillationsignal to generate a plurality of second demodulated signals, whereinthe second oscillation signal is different from the first oscillationsignal; and determining the capacitance values according to at least thefirst demodulated signals and the second demodulated signals.

These and other objectives of the present invention will no doubt becomeobvious to those of ordinary skill in the art after reading thefollowing detailed description of the preferred embodiment that isillustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a computer system employing theproposed capacitance value detection methodology according to anembodiment of the present invention.

FIG. 2 is a diagram illustrating an embodiment of the driving circuitshown in FIG. 1.

FIG. 3 is a diagram illustrating an embodiment of the sensing circuitshown in FIG. 1.

FIG. 4 is a diagram illustrating an embodiment of the control circuitshown in FIG. 1.

FIG. 5 is a diagram illustrating another embodiment of the controlcircuit shown in FIG. 1.

DETAILED DESCRIPTION

Certain terms are used throughout the description and following claimsto refer to particular components. As one skilled in the art willappreciate, manufacturers may refer to a component by different names.This document does not intend to distinguish between components thatdiffer in name but not function. In the following description and in theclaims, the terms “include” and “comprise” are used in an open-endedfashion, and thus should be interpreted to mean “include, but notlimited to . . .”. Also, the term “couple” is intended to mean either anindirect or direct electrical connection. Accordingly, if one device iscoupled to another device, that connection may be through a directelectrical connection, or through an indirect electrical connection viaother devices and connections.

The main concept of the present invention is to use oscillation signalswith different phases to demodulate touch sense signals of a sense lineto generate different demodulation results, and then use thedemodulation results to determine capacitance values of capacitivesensing nodes located at intersections of a plurality of drive lines andthe sense line. For example, the capacitance values can be directlyobtained by calculating root sum square (RSS) values according to thedemodulation results. Hence, the proposed method does not need any phasedelay measurement and compensation. Compared to the conventional design,the proposed capacitance value detection methodology would have reducedcomplexity and improved accuracy. Further details are detailed as below.

FIG. 1 is a block diagram illustrating a computer system employing theproposed capacitance value detection methodology according to anembodiment of the present invention. The computer system 100 has a host102 and a touch panel device 103, where the touch panel device 103includes a touch controller 104 and a touch panel 106. The touch panel106 includes a capacitive sensing medium having a plurality of drivelines (i.e., row traces) R1, R2, R3, R4, R5 and a plurality of senselines (i.e., column traces) C1, C2, C3, C4, C5. The drive lines and thesense lines are formed by a transparent conductive material such asIndium Tin Oxide (ITO). In this embodiment, the drive lines and thesense lines are arranged in a matrix form such that the drive lines andthe sense lines, as shown in FIG. 1, are perpendicular to each other. Itshould be noted that, at each intersection 107 of one drive line and onesense line, there is no direct electrical contact between the drive lineand the sense line. In other words, the intersection 107 is a crossoverpoint where the drive line and the sense line pass cross each other. Asa result, the intersection 107 may be regarded as a capacitive sensingnode due to the fact that the drive line and the sense line at theintersection 107 can essentially form two electrodes of a capacitor. Itshould be noted that the number of drive lines, the number of senselines and/or the arrangement of drive lines and sense lines are forillustrative purposes only.

The touch controller 104 is used to detect the capacitance variation ateach capacitive sensing node for determining occurrence and coordinateof a touch event. Hence, in each frame, the touch controller 104 has todetermine a capacitance value at each capacitive sensing node. As shownin FIG. 1, the touch controller 104 includes a sensing circuit 112, acontrol circuit 114 and a driving circuit 116. In this embodiment, thetouch panel 106 is driven in a multi-stimulus manner. Therefore, thedrive lines R1-R5 are simultaneously stimulated with a plurality ofalternating current (AC) signals (i.e., stimulation signals) D1, D2, D3,D4, D5 generated from the driving circuit 116.

Please refer to FIG. 2, which is a diagram illustrating an embodiment ofthe driving circuit 116 shown in FIG. 1. In this embodiment, the drivingcircuit 116 includes a sine wave table 202, a digital-to-analogconverter (DAC) 204, a plurality of driving buffer amplifiers 206, 208,a driving multiplexer (MUX) 210, and an encoding matrix 212. Thecombination of sine wave table 202 and DAC 204 serves as a signalgenerator used to provide a common modulation carrier sin(ωt).Specifically, the sine wave table 202 outputs a digital amplitude valuerepresentative of the signal amplitude for an instant frequency value ofthe modulation angular frequency w, and then the DAC 204 converts thedigital amplitude value into an analog signal. In this way, bycontinuously converting the digital amplitude values provided from thesince wave table 202, the DAC 204 therefore generates a time-varyinganalog signal which is an approximation of a sine wave signal sin(ωt).The common modulation carrier sin(ωt) is fed into both of the drivingbuffer amplifiers 206 and 208, each making the common modulation carriersin(ωt) equipped with proper driving capability for driving followingstages.

In this embodiment, the driving buffer amplifier 206 has a positive gainvalue equal to +1, and the driving buffer amplifier 208 has a negativegain value equal to −1. Thus, the amplifier output S1 of the drivingbuffer amplifier 206 would be +sin(ωt), while the amplifier output S2 ofthe driving buffer amplifier 206 would be −sin(ωt). The driving MUX 210refers to the encoding matrix 212 to select one of the amplifier outputsS1 and S2 as a stimulation signal. Specifically, the stimulation signalssimultaneously generated from the driving MUX 210 are set by the commonmodulation carrier sin(ωt) and a plurality of sign values defined in theencoding matrix 212.

Supposing that a touch panel has n drive lines, the detection time ofone frame is divided into n time slots. Taking the touch panel 106 forexample, the detection time of one frame is divided into 5 time slotssince the touch panel 106 has 5 drive lines R1-R5. During the i^(th)time slot, the stimulation signal supplied to the k^(th) drive line isrepresented by a_(ik), where a_(ik)=D_(ik) sin (ωt), ω=2πf_(c), f_(c) isthe stimulus frequency (i.e., the modulation carrier frequency), andD_(ik) is the sign value defined in the encoding matrix 212. It shouldbe noted that D_(ik) is either +1 or −1, depending upon the setting ofthe encoding matrix 212. Therefore, regarding the mutual capacitancedetection in one frame, the stimulation signals simultaneously generatedduring different time slots may be represented by the following n×ndriving matrix A:

$A \equiv \begin{bmatrix}a_{11} & a_{12} & \ldots & a_{1n} \\a_{21} & a_{22} & \; & \; \\\vdots & \; & \ddots & \; \\a_{n\; 1} & \; & \ldots & a_{n\; m}\end{bmatrix}$

where the 1^(st) row [a₁₁ a₁₂ . . . a_(1n)] represents the stimulationsignals simultaneously generated during the 1^(st) time slot of a frame,the 2^(nd) row [a₂₁ a₂₂ a_(2n)] represents the stimulation signalssimultaneously generated during the 2^(nd) time slot of the frame, andthe n^(th) row [a₁₁ a₁₂ . . . a_(1n)] represents the stimulation signalssimultaneously generated during the n^(th) time slot of the frame. Forexample, regarding the touch panel 106 with 5 drive lines R1-R5, thefollowing encoding matrix D may be employed.

$D = \begin{bmatrix}{+ 1} & {- 1} & {+ 1} & {- 1} & {+ 1} \\{- 1} & {+ 1} & {- 1} & {+ 1} & {+ 1} \\{+ 1} & {- 1} & {+ 1} & {+ 1} & {- 1} \\{- 1} & {+ 1} & {+ 1} & {- 1} & {+ 1} \\{+ 1} & {+ 1} & {- 1} & {+ 1} & {- 1}\end{bmatrix}$

Therefore, during the 1^(st) time slot, the driving MUX 210 outputs+sin(ωt), −sin(ωt), +sin(ωt), −sin(ωt), +sin(ωt) as the stimulationsignals D1-D5, respectively. During the 2^(nd) time slot, the drivingMUX 210 outputs −sin(ωt), +sin(ωt), −sin(ωt), +sin(ωt), +sin(ωt) as thestimulation signals D1-D5, respectively. During the 3rd time slot, thedriving MUX 210 outputs +sin(ωt), −sin(ωt), +sin(ωt), +sin(ωt), −sin(ωt)as the stimulation signals D1-D5, respectively. During the 4^(th) timeslot, the driving MUX 210 outputs −sin(ωt), +sin(ωt), +sin(ωt),−sin(ωt), +sin(ωt) as the stimulation signals D1-D5, respectively.During the 5^(th) time slot, the driving MUX 210 outputs +sin(ωt),+sin(ωt), −sin(ωt), +sin(ωt), −sin(ωt) as the stimulation signals D1-D5,respectively. As a result, all of the stimulation signals generatedwithin one frame can be represented by the following 5×5 driving matrixA.

$A = \begin{bmatrix}{{+ \sin}\; \omega \; t} & {{- \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} & {{- \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} \\{{- \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} & {{- \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} \\{{+ \sin}\; \omega \; t} & {{- \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} & {{- \sin}\; \omega \; t} \\{{- \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} & {{- \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} \\{{+ \sin}\; \omega \; t} & {{+ \sin}\; \omega \; t} & {{- \sin}\mspace{2mu} \omega \; t} & {{+ \sin}\; \omega \; t} & {{- \sin}\; \omega \; t}\end{bmatrix}$

Regarding each sense line, the capacitance values at the capacitivesensing nodes (i.e., intersections of the n drive lines and one senseline) may be represented by the following n×1 matrix X:

$x \equiv \begin{bmatrix}{c_{1}^{j\; \theta_{1}}} \\{c_{2}^{j\; \theta_{2}}} \\\vdots \\{c_{n}^{j\; \theta_{n}}}\end{bmatrix}$

where C_(i) represents the capacitance value at the capacitive sensingnode located at an intersection of the sense line and the i^(th) driveline, and e^(jθ) ^(i) represents the phase delay introduced by thei^(th) drive line, where j=√{square root over (−1)}.

As mentioned above, the driving circuit 116 simultaneously drives ndrive lines (e.g., R1-R5) with respective stimulation signals (e.g.,D1-D5), thus resulting in mutual capacitance values simultaneouslyintroduced at the capacitive sensing nodes of the same sense line. As aresult, each sensing output read from a sense line is a composite signalresulting from all mutual capacitance values simultaneously presented atthe capacitive sensing nodes of different drive lines and the senseline. Besides, as one frame time is divided into n time slots, the samesense line would produce n sensing outputs during one frame time, whereeach sensing output is generated in response to one set of stimulationsignals simultaneously generated during one time slot. The touch sensesignals derived from one sense line in one frame time may be representedby the following n×1 matrix B:

$B \equiv \begin{bmatrix}b_{1} \\b_{2} \\\vdots \\b_{n}\end{bmatrix}$

where b_(i) is the sensing output read from the sense line during thei^(th) time slot. As can be readily known from above, the matrices A, xand B would have the following relation: Ax=B.

In this embodiment, the sensing circuit 112 is arranged for obtaining aplurality of touch sense signals (e.g., b₁-b_(n)) corresponding to thesame sense line during a plurality of time slots (e.g., n time slots),respectively. Please refer to FIG. 3, which is a diagram illustrating anembodiment of the sensing circuit 112 shown in FIG. 1. The sensingcircuit 112 includes a transducer amplifier 302, an anti-aliasing filter(AAF) 304 and an ADC 306. An analog sensing output of one sense line isfed into the transducer amplifier 302. The amplifier output of thetransducer amplifier 302 is processed by the AAF 304 to restrict thebandwidth of the amplifier output to approximately satisfy the samplingtheorem. Next, the ADC 306 converts the filter output of the AAF 304into a digital touch sense signal. In this way, the touch sense signalsb₁-b_(n) in one frame time are obtained by the sensing circuit 112. Itshould be noted that only one signal processing channel for obtainingtouch sense signals b₁-b_(n) corresponding to one sense line is shown inFIG. 3. In practice, the sensing circuit 112 may be configured to have aplurality of signal processing channels, each composed of a transduceramplifier, an AAF and an ADC, for obtaining touch sense signals of aplurality of sense lines.

Taking the touch panel 106 with 5 sense lines C1-C5 for example, thesensing output S1 is a composite signal resulting from all capacitancevalues simultaneously introduced at the capacitive sensing nodes of thedrive lines R1-R5 and the sense line C1, and the sensing circuit 112reads the sense line C1 in each time slot of one frame to thereby obtainfive touch sensing signals. Similarly, the sensing circuit 112 alsoreads the sense line C2 in each time slot of one frame to thereby obtainfive touch sensing signals, reads the sense line C3 in each time slot ofone frame to thereby obtain five touch sensing signals, reads the senseline C4 in each time slot of one frame to thereby obtain five touchsensing signals, and reads the sense line C5 in each time slot of oneframe to thereby obtain five touch sensing signals.

As mentioned above, the touch controller 104 is used to detect thecapacitance variation at each capacitive sensing node for determiningthe occurrence and coordinate of a touch event. Thus, regarding eachsense line, the touch controller 104 is required to know capacitancevalues c₁-c_(n) at the capacitive sensing nodes located at intersectionsof the sense line and multiple drive lines that are stimulatedsimultaneously. In this embodiment, the control circuit 114 uses twodifferent oscillation signals OSC1 and OSC2 to demodulate the touchsensing signals corresponding to the same sense line, respectively. Forexample, the first oscillation signal OSC1 and the second oscillationsignal OSC2 have a 90-degree phase difference therebetween. Hence, thecontrol circuit 114 obtains first demodulated signals due to the firstoscillation signal OSC1, and obtains second demodulated signals due tothe second oscillation signal OSC2.

Next, based on the first demodulated signals and second demodulatedsignals, the control circuit 114 of the present invention can determinethe capacitance values c₁-c_(n) without any phase delay measurement andcompensation. After the capacitance values at capacitive sensing nodesof all sense lines are determined, the control circuit 114 may judge theoccurrence of a touch event. When it is determined that there is a touchevent, the control circuit 114 may transmit information (e.g.,coordinate) associated with the touch event to the host 102. Next, thehost 102 performs actions based on the output given by the touchcontroller 104. For example, the actions may include moving an objectsuch as a cursor or pointer, scrolling, panning, etc. Further detailsdirected to determining the capacitance values c₁-c_(n) of capacitivesensing nodes located at intersections of one sense line and a pluralityof drive lines are described as below.

Please refer to FIG. 4, which is a diagram illustrating an embodiment ofthe control circuit 114 shown in FIG. 1. The control circuit 114includes a first demodulator 402, a second demodulator 404 and adetermining unit 406. The first demodulator 402 is arranged fordemodulating the touch sense signals b_(k) (k=1 to n) with the firstoscillation signal OSC1 to generate a plurality of first demodulatedsignals b_(k) _(—) _(LPF) _(—) _(I) (k=1 to n). The second demodulator404 is arranged for demodulating the touch sense signals b_(k) (k=1 ton) with the second oscillation signal OSC2 to generate a plurality ofsecond demodulated signals b_(k) _(—) _(LPF) _(—) _(Q) (k=1 to n). Byway of example, but not limitation, the first oscillation signal OSC1,the second oscillation signal OSC2, and the stimulation signals (e.g.,D1-D5) have the same frequency, and the stimulation signals (e.g.,D1-D5) and one of first oscillation signal OSC1 and second oscillationsignal OSC2 have the same phase. In this embodiment, the firstoscillation signal OSC1 may be sin(ωt), and the second oscillationsignal OSC2 may be cos(ωt).

More specifically, the first demodulator 402 includes a first mixer 412and a first low-pass filter (LPF) 414, where the first mixer 412 isarranged for mixing each touch sense signal b_(k) with the firstoscillation signal sin(ωt) to generate a corresponding first mixedsignal b_(k) _(—) _(dem) _(—) _(I), and the first LPF 414 is arrangedfor performing a low-pass filtering operation upon the first mixedsignal b_(k) _(—) _(dem) _(—) _(I) to generate a corresponding firstdemodulated signal b_(k) _(—) _(LPF) _(—) _(I). Regarding the seconddemodulator 404, it includes a second mixer 422 and a second LPF 424,where the second mixer 422 is arranged for mixing each touch sensesignal b_(k) with the second oscillation signal cos(ωt) to generate acorresponding second mixed signal b_(k) _(—) _(dem) _(—) _(Q), and thesecond LPF 424 is arranged for performing a low-pass filtering operationupon the second mixed signal b_(k) _(—) _(dem) _(—) _(Q) to generate acorresponding second demodulated signal b_(k) _(—) _(LPF) _(—) _(Q).

As mentioned above, the matrices A, x and B would have the followingrelation: Ax=B. Thus, regarding one touch sensing signal b_(k) read froma sense line during the k^(th) time slot, it may be expressed using thefollowing equation.

$\begin{matrix}{b_{k} = {{a_{k\; 1}c_{1}^{j\; \theta_{1}}} + {a_{k\; 2}c_{2}^{j\; \theta_{2}}} + \ldots + {a_{kn}c_{n}^{j\; \theta_{n}}}}} \\{= {\sum\limits_{i = 1}^{n}{a_{ki}c_{i}^{j\; \theta_{i}}}}} \\{= {\sum\limits_{i = 1}^{n}{D_{ki}c_{i}{\sin \left( {{\omega \; t} + \theta_{i}} \right)}}}}\end{matrix}$

Thus, the first mixed signal b_(k) _(—) _(dem) _(—) _(I) can beexpressed using the following equation.

${b_{k\; \_ \; {dem}\; \_ \; I} \equiv {{b_{k} \cdot \sin}\; \omega \; t}} = {\sum\limits_{i = 1}^{n}{D_{ki}{c_{i}\left( {- \frac{1}{2}} \right)}\left( {{\sin \left( {{2\; \omega \; t} + \theta_{i}} \right)} - {\cos \; \theta_{i}}} \right)}}$

Similarly, the second mixed signal b_(k) _(—) _(dem) _(—) _(Q) can beexpressed using the following equation.

${b_{k\; \_ \; {den}\mspace{11mu} \_ \; Q} \equiv {{b_{k} \cdot \cos}\; \omega \; t}} = {\sum\limits_{i = 1}^{n}{D_{ki}{c_{i}\left( \frac{1}{2} \right)}\left( {{\sin \left( {{2\omega \; t} + \theta_{i}} \right)} + {\sin \; \theta_{i}}} \right)}}$

The first LPF 414 is used to filter out high-frequency terms (i.e.,sin(2ωt+θ_(i))), thus only leaving the low-frequency terms (i.e., cosθ_(i)). Hence, the first demodulated signal b_(k) _(—) _(LPF) _(—) _(I)can be expressed using the following equation.

${b_{k\; \_ \; {LPF}\; \_ \; I} \equiv {{LPF}\left( b_{k\; \_ \; {dem}\; \_ \; I} \right)}} = {{{LPF}\left( {b_{k}\sin \; \omega \; t} \right)} = {\frac{1}{2}{\sum\limits_{i = 1}^{n}{D_{ki}c_{i}\cos \; \theta_{i}}}}}$

Similarly, the second LPF 424 is used to filter out high-frequency terms(i.e., sin(2ωt+θ_(i))), thus only leaving the low-frequency terms (i.e.,sin θ_(i)). Hence, the second demodulated signal b_(k) _(—) _(LPF) _(—)_(Q) can be expressed using the following equation.

${b_{k\; \_ \; {LPF}\; \_ \; Q} \equiv {{LPF}\left( b_{k\; \_ \; {dem}\; \_ \; Q} \right)}} = {{{LPF}\left( {b_{k}\cos \; \omega \; t} \right)} = {\frac{1}{2}{\sum\limits_{i = 1}^{n}{D_{ki}c_{i}\sin \; \theta_{i}}}}}$

The determining unit 406 is arranged for determining the capacitancevalue c_(k) according to at least the first demodulated signals b_(k)_(—) _(LPF) _(—) _(Q) and the second demodulated signals b_(k) _(—)_(LPF) _(—) _(Q), where k=1 to n. As shown in FIG. 4, the determiningunit 406 includes a first multiplication unit 432, a secondmultiplication unit 434, and a calculation unit (denoted by “NORM(RSS)”) 436. With proper data manipulation, the scaling factor ½ in eachfirst demodulated signal b_(k) _(—) _(LPF) _(—) _(Q) and seconddemodulated signal b_(k) _(—) _(LPF) _(—) _(Q) can be removed. Besides,the first multiplication unit 432 performs matrix multiplicationaccording to a decoding matrix 438 and the first demodulated signalsb_(k) _(—) _(LPF) _(—) _(I), and accordingly generates a plurality offirst matrix elements c_(k) cos θ_(k), where k=1 to n. Similarly, thesecond multiplication unit 434 performs matrix multiplication accordingto the decoding matrix 438 and the second demodulated signals b_(k) _(—)_(LPF) _(—) _(Q), and accordingly generates a plurality of second matrixelements c_(k) sin θ_(k), where k=1 to n. It should be noted that thedecoding matrix 438 is an inverse of the encoding matrix 212.Considering the case where the touch panel 106 has 5 drive lines R1-R5and the aforementioned encoding matrix D is employed, the followingdecoding matrix D⁻¹ may be used by the determining unit 406 (it shouldbe noted that the result of D multiplied by D⁻¹ would be an identitymatrix).

$D^{- 1} = \begin{bmatrix}1 & 0 & 0 & 0 & 1 \\0 & 0 & 0 & 1 & 1 \\0 & 0 & 1 & 1 & 0 \\0 & 1 & 1 & 0 & 0 \\1 & 1 & 0 & 0 & 0\end{bmatrix}$

The output of the first multiplication unit 432 may be expressed usingthe following equation.

$\begin{bmatrix}{c_{1}\cos \; \theta_{1}} \\{c_{2}\cos \; \theta_{2}} \\\vdots \\{c_{n}\cos \; \theta_{n}}\end{bmatrix} = {D^{- 1}\begin{bmatrix}b_{1\; \_ \; {LPF}\; \_ \; I} \\b_{2\; \_ \; {LPF}\; \_ \; I} \\\vdots \\b_{n\; \_ \; {LPF}\; \_ \; I}\end{bmatrix}}$

Similarly, the output of the second multiplication unit 434 may beexpressed using the following equation.

$\begin{bmatrix}{c_{1}\sin \; \theta_{1}} \\{c_{2}\sin \; \theta_{2}} \\\vdots \\{c_{n}\sin \; \theta_{n}}\end{bmatrix} = {D^{- 1}\begin{bmatrix}b_{1\; \_ \; {LPF}\; \_ \; Q} \\b_{2\; \_ \; {LPF}\; \_ \; Q} \\\vdots \\b_{n\; \_ \; {LPF}\; \_ \; Q}\end{bmatrix}}$

It should be noted that the angle values θ_(k) (k=1 to n) result fromthe phase delays, and will change along with the ambient temperaturevariation. Even though the angle values θ_(k) (k=1 to n) are unknownvariables, the desired capacitance values c_(k) (k=1 to n) can be easilyknown by arithmetical calculations. In this embodiment, the calculationunit 436 is arranged for determining each capacitance value c_(k) bycalculating a root sum square (RSS) value of each pair of one firstmatrix element c_(k) cos θ_(k) and one second matrix element c_(k) sinθ_(k). That is, if the second matrix element c_(i) sin θ_(i) serves asan imaginary part of a complex value and first matrix element c_(i) cosθ_(i) serves as a real part of the complex value, the norm of thecomplex value (i.e., an RSS value of c_(i) sin θ_(i) and c_(i) cosθ_(i)) is calculated using the following equation.

c _(i)=√{square root over ((c _(i) sin θ_(i))²+(c _(i) cosθ_(i))²)}{square root over ((c _(i) sin θ_(i))²+(c _(i) cosθ_(i))²)},(i=1 to n

As can be seen from above equation, the norm of the complex value is thecapacitance value c_(i). Thus, the capacitance values c₁-c_(n) ofcapacitive sensing nodes located at intersections of a plurality ofdrive lines and one sense line can be obtained without performing anyphase delay measurement and compensation.

A simulation result of using the proposed method to detect capacitancevalues of capacitive sensing nodes located at intersections of fivedrive lines and the first sense line of a 5×3 touch panel is given asbelow. The aforementioned 5×5 driving matrix A may be referenced forstimulating the five drive lines during 5 time slots. The capacitivesensing nodes located at intersections of five drive lines and the firstsense line are measured using measurement equipment, thereby producingthe following capacitance measurement result.

$x = \begin{bmatrix}{{101\angle} - {0.39\pi}} \\{{114\angle} - {0.32\pi}} \\{{120\angle} - {0.27\pi}} \\{{117\angle} - {0.40\pi}} \\{{107\angle} - {0.44\pi}}\end{bmatrix}$

The proposed method is used to detect the capacitive sensing nodeslocated at intersections of five drive lines and the first sense line.By demodulating the touch sense signals (which are obtained from thefirst sense line during 5 time slots, respectively) with the firstoscillation signal sin(ωt) and then performing matrix multiplicationupon the demodulation output with the decoding matrix D⁻¹, the followingresult is obtained.

$\quad\begin{bmatrix}{- 95.03} \\{- 96.25} \\{- 90.01} \\{- 111.27} \\{- 105.10}\end{bmatrix}$

In addition, by demodulating the touch sense signals (which are obtainedfrom the first sense line during 5 time slots, respectively) with thesecond oscillation signal cos(ωt) and then performing matrixmultiplication upon the demodulation output with the decoding matrixD⁻¹, the following result is obtained.

$\quad\begin{bmatrix}34.21 \\61.08 \\79.36 \\36.15 \\20.05\end{bmatrix}$

When outputs of the second multiplication unit 434 serves as real partsof complex values and outputs of the first multiplication unit 432serves as real parts of complex values, the following complex values areobtained.

$\quad\begin{bmatrix}{34.21 - {95.03}} \\{61.08 - {96.25}} \\{79.36 - {90.01}} \\{36.15 - {111.27}} \\{20.05 - {105.10}}\end{bmatrix}$

The calculation unit 436 calculates the norm of each complex value, andtherefore obtains the following calculation result.

$\quad\begin{bmatrix}101 \\114 \\120 \\117 \\107\end{bmatrix}$

As one can see, the calculation result of the capacitance values isidentical to the measurement result of the capacitance values. Thus,even though there is no phase delay measurement and compensation, theproposed method is capable of correctly determining the capacitancevalues at capacitive sensing nodes located at intersections of one senseline and multiple drive lines.

The control circuit 114 may be implemented using hardware, software, ora combination thereof. That is, the implementation shown in FIG. 4 isfor illustrative purposes only. Please refer to FIG. 5, which is adiagram illustrating another embodiment of the control circuit 114 shownin FIG. 1. The control circuit 114 includes a processor 502 and amachine readable medium 504. The processor 502 may be implemented usinga micro control unit (MCU) or a digital signal processor (DSP). Themachine readable medium 504 is used to store a program code PROG, andmay be implemented using a memory device such as a non-volatile memory.When executed by the processor 502, the program code PROG causes theprocessor 502 to accomplish the same operations performed by the circuitelements shown in FIG. 4.

To put it simply, the program code PROG causes the processor 502 toperform following steps for detecting capacitance values of a pluralityof capacitive sensing nodes located at intersections of a plurality ofdrive lines and a sense line on a touch panel: demodulating a pluralityof touch sense signals corresponding to the sense line with a firstoscillation signal to generate a plurality of first demodulated signals,wherein the touch sense signals are obtained during a plurality of timeslots, respectively; demodulating the touch sense signals with a firstoscillation signal to generate a plurality of first demodulated signals;demodulating the touch sense signals with a second oscillation signal togenerate a plurality of second demodulated signals, wherein the secondoscillation signal is different from the first oscillation signal; anddetermining the capacitance values according to at least the firstdemodulated signals and the second demodulated signals. As a personskilled in the art can readily understand details of the implementationshown in FIG. 5 after reading above paragraphs directed to theimplementation shown in FIG. 4, further description is omitted here forbrevity.

Those skilled in the art will readily observe that numerousmodifications and alterations of the device and method may be made whileretaining the teachings of the invention. Accordingly, the abovedisclosure should be construed as limited only by the metes and boundsof the appended claims.

What is claimed is:
 1. A method for detecting capacitance values of aplurality of capacitive sensing nodes located at intersections of aplurality of drive lines and a sense line on a touch panel, comprising:obtaining a plurality of touch sense signals corresponding to the senseline during a plurality of time slots, respectively; demodulating thetouch sense signals with a first oscillation signal to generate aplurality of first demodulated signals; demodulating the touch sensesignals with a second oscillation signal to generate a plurality ofsecond demodulated signals, wherein the second oscillation signal isdifferent from the first oscillation signal; and determining thecapacitance values according to at least the first demodulated signalsand the second demodulated signals.
 2. The method of claim 1, whereinthe first oscillation signal and the second oscillation signal have asame frequency but different phases.
 3. The method of claim 2, whereinthe first oscillation signal and the second oscillation signal have a90-degree phase difference therebetween.
 4. The method of claim 1,wherein each touch sense signal is obtained when the drive lines aresimultaneously driven by a plurality of stimulation signals.
 5. Themethod of claim 4, wherein the first oscillation signal, the secondoscillation signal, and the stimulation signals have the same frequency.6. The method of claim 4, wherein the stimulation signals and one of thefirst oscillation signal and the second oscillation signal have a samephase.
 7. The method of claim 1, wherein the step of demodulating thetouch sense signals with the first oscillation signal comprises: mixingeach touch sense signal with the first oscillation signal to generate afirst mixed signal; and performing a low-pass filtering operation uponthe first mixed signal to generate a first demodulated signal; and thestep of demodulating the touch sense signals with the second oscillationsignal comprises: mixing each touch sense signal with the secondoscillation signal to generate a second mixed signal; and performing alow-pass filtering operation upon the second mixed signal to generate asecond demodulated signal.
 8. The method of claim 4, wherein during thetime slots, stimulation signals are generated according to a commonmodulation carrier and a plurality of sign values defined in an encodingmatrix; and the step of determining the capacitance values according toat least the first demodulated signals and the second demodulatedsignals comprises: determining the capacitance values according to thefirst demodulated signals, the second demodulated signals and a decodingmatrix, wherein the decoding matrix is an inverse of the encodingmatrix.
 9. The method of claim 8, wherein the step of determining thecapacitance values according to the first demodulated signals, thesecond demodulated signals and the decoding matrix comprises: performingmatrix multiplication according to the decoding matrix and the firstdemodulated signals, and accordingly generating a plurality of firstmatrix elements; performing matrix multiplication according to thedecoding matrix and the second demodulated signals, and accordinglygenerating a plurality of second matrix elements; determining eachcapacitance value by calculating a root sum square (RSS) value of eachpair of one first matrix element and one second matrix element.
 10. Atouch controller for detecting capacitance values of a plurality ofcapacitive sensing nodes located at intersections of a plurality ofdrive lines and a sense line on a touch panel, comprising: a firstdemodulator, arranged for demodulating a plurality of touch sensesignals corresponding to the sense line with a first oscillation signalto generate a plurality of first demodulated signals, wherein the touchsense signals are obtained during a plurality of time slots,respectively; a second demodulator, arranged for demodulating the touchsense signals with a second oscillation signal to generate a pluralityof second demodulated signals, wherein the second oscillation signal isdifferent from the first oscillation signal; and a determining unit,arranged for determining the capacitance values according to at leastthe first demodulated signals and the second demodulated signals. 11.The touch controller of claim 10, wherein the first oscillation signaland the second oscillation signal have a same frequency but differentphases.
 12. The touch controller of claim 11, wherein the firstoscillation signal and the second oscillation signal have a 90-degreephase difference therebetween.
 13. The touch controller of claim 10,further comprising: a driving circuit, arranged for simultaneouslygenerating a plurality of stimulation signals to the drive lines duringeach time slot, wherein each touch sense signal is obtained when thedrive lines are simultaneously driven by the stimulation signals. 14.The touch controller of claim 13, wherein the first oscillation signal,the second oscillation signal, and the stimulation signals have the samefrequency.
 15. The touch controller of claim 13, wherein the stimulationsignals and one of the first oscillation signal and the secondoscillation signal have a same phase.
 16. The touch controller of claim10, wherein the first demodulator comprises: a first mixer, arranged formixing each touch sense signal with the first oscillation signal togenerate a first mixed signal; and a first low-pass filter, arranged forperforming a low-pass filtering operation upon the first mixed signal togenerate a first demodulated signal; and the second demodulatorcomprises: a second mixer, arranged for mixing each touch sense signalwith the second oscillation signal to generate a second mixed signal;and a second low-pass filter, arranged for performing a low-passfiltering operation upon the second mixed signal to generate a seconddemodulated signal.
 17. The touch controller of claim 13, wherein duringthe time slots, the driving circuit generates stimulation signalsaccording to a common modulation carrier and a plurality of sign valuesdefined in an encoding matrix; and the determining unit determines thecapacitance values according to the first demodulated signals, thesecond demodulated signals and a decoding matrix, wherein the decodingmatrix is an inverse of the encoding matrix.
 18. The touch controller ofclaim 17, wherein the determining unit comprises: a first multiplicationunit, arranged for performing matrix multiplication according to thedecoding matrix and the first demodulated signals, and accordinglygenerating a plurality of first matrix elements; a second multiplicationunit, arranged for performing matrix multiplication according to thedecoding matrix and the second demodulated signals, and accordinglygenerating a plurality of second matrix elements; and a calculationunit, arranged for determining each capacitance value by calculating aroot sum square (RSS) value of each pair of one first matrix element andone second matrix element.
 19. A non-transitory machine readable mediumstoring a program code which, when executed by a processor, causes theprocessor to perform following steps for detecting capacitance values ofa plurality of capacitive sensing nodes located at intersections of aplurality of drive lines and a sense line on a touch panel: demodulatinga plurality of touch sense signals corresponding to the sense line witha first oscillation signal to generate a plurality of first demodulatedsignals, wherein the touch sense signals are obtained during a pluralityof time slots, respectively; demodulating the touch sense signals with asecond oscillation signal to generate a plurality of second demodulatedsignals, wherein the second oscillation signal is different from thefirst oscillation signal; and determining the capacitance valuesaccording to at least the first demodulated signals and the seconddemodulated signals.
 20. The non-transitory machine readable medium ofclaim 19, wherein the first oscillation signal and the secondoscillation signal have a same frequency, and there is a 90-degree phasedifference between the first oscillation signal and the secondoscillation signal.